PoC/iOS/Bluetooth Tracing PoC/Sources/ViewController.swift (26 lines of code) (raw):

// ========================================================================= // Copyright 2020 EPAM Systems, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // ========================================================================= import UIKit import CoreBluetooth /* The view that mirrors log messages and provides actions to share them or clear logger */ class ViewController: UIViewController, LoggerDelegate { @IBOutlet private weak var textView: UITextView! @StoredIdentifier(.user) private var userIdentifier: String // MARK: - Lifecycle override func viewDidLoad() { super.viewDidLoad() title = userIdentifier textView.text = Logger.shared.logs Logger.shared.delegate = self } // MARK: - Actions @IBAction private func actionBarButtonItemDidTap(_ sender: UIBarButtonItem) { let items = [textView.text as Any] let controller = UIActivityViewController(activityItems: items, applicationActivities: nil) present(controller, animated: true) } @IBAction private func trashBarButtonItemDidTap(_ sender: UIBarButtonItem) { textView.text = nil Logger.shared.clear() } // MARK: - LoggerDelegate func logDidAppend(with message: String) { DispatchQueue.main.async { self.textView.text += message } } }